# functest2.s - An example of using global variables in functions

.section .data
precision:
   .byte 0x7f, 0x00

.section .bss
   .lcomm radius, 4
   .lcomm result, 4
   .lcomm trash, 4

.section .text
.globl _start
_start:
   nop

   finit
   fldcw precision

   movl $10, radius
   call area

   movl $2, radius
   call area

   movl $120, radius
   call area

   movl $1, %eax
   movl $0, %ebx
   int $0x80

.type area, @function
area:
   fldpi

   filds radius
   fmul %st(0), %st(0)
   fmulp %st(0), %st(1)
   fstps result

   ret
